<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Car\V20220110\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeCosCredential response structure.
 *
 * @method string getSecretID() Obtain Cos SecretID
 * @method void setSecretID(string $SecretID) Set Cos SecretID
 * @method string getSecretKey() Obtain Cos SecretKey
 * @method void setSecretKey(string $SecretKey) Set Cos SecretKey
 * @method string getSessionToken() Obtain Cos SessionToken
 * @method void setSessionToken(string $SessionToken) Set Cos SessionToken
 * @method string getCosBucket() Obtain Cos Bucket
 * @method void setCosBucket(string $CosBucket) Set Cos Bucket
 * @method string getCosRegion() Obtain Cos Region
 * @method void setCosRegion(string $CosRegion) Set Cos Region
 * @method string getPath() Obtain COS operation path.
 * @method void setPath(string $Path) Set COS operation path.
 * @method integer getStartTime() Obtain Start time of the COS key.
 * @method void setStartTime(integer $StartTime) Set Start time of the COS key.
 * @method integer getExpiredTime() Obtain Expiration time of the COS key.
 * @method void setExpiredTime(integer $ExpiredTime) Set Expiration time of the COS key.
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeCosCredentialResponse extends AbstractModel
{
    /**
     * @var string Cos SecretID
     */
    public $SecretID;

    /**
     * @var string Cos SecretKey
     */
    public $SecretKey;

    /**
     * @var string Cos SessionToken
     */
    public $SessionToken;

    /**
     * @var string Cos Bucket
     */
    public $CosBucket;

    /**
     * @var string Cos Region
     */
    public $CosRegion;

    /**
     * @var string COS operation path.
     */
    public $Path;

    /**
     * @var integer Start time of the COS key.
     */
    public $StartTime;

    /**
     * @var integer Expiration time of the COS key.
     */
    public $ExpiredTime;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param string $SecretID Cos SecretID
     * @param string $SecretKey Cos SecretKey
     * @param string $SessionToken Cos SessionToken
     * @param string $CosBucket Cos Bucket
     * @param string $CosRegion Cos Region
     * @param string $Path COS operation path.
     * @param integer $StartTime Start time of the COS key.
     * @param integer $ExpiredTime Expiration time of the COS key.
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("SecretID",$param) and $param["SecretID"] !== null) {
            $this->SecretID = $param["SecretID"];
        }

        if (array_key_exists("SecretKey",$param) and $param["SecretKey"] !== null) {
            $this->SecretKey = $param["SecretKey"];
        }

        if (array_key_exists("SessionToken",$param) and $param["SessionToken"] !== null) {
            $this->SessionToken = $param["SessionToken"];
        }

        if (array_key_exists("CosBucket",$param) and $param["CosBucket"] !== null) {
            $this->CosBucket = $param["CosBucket"];
        }

        if (array_key_exists("CosRegion",$param) and $param["CosRegion"] !== null) {
            $this->CosRegion = $param["CosRegion"];
        }

        if (array_key_exists("Path",$param) and $param["Path"] !== null) {
            $this->Path = $param["Path"];
        }

        if (array_key_exists("StartTime",$param) and $param["StartTime"] !== null) {
            $this->StartTime = $param["StartTime"];
        }

        if (array_key_exists("ExpiredTime",$param) and $param["ExpiredTime"] !== null) {
            $this->ExpiredTime = $param["ExpiredTime"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
